# -*- coding: utf-8 -*-
# 如果你的程序（包括注释）中包含中文，请加上上面这一行，用于指明编码（utf-8）。
# #号开头的行都是注释。

# 如何编辑本程序：
#     用任何文本编辑器均可编辑。

# 如何运行本程序：
#     在终端中，运行：python p304_scope.py

# 根据变量定义的位置，变量分为：
#   局部变量：在函数中定义的变量和参数。
#   全局变量：在函数外面，全局范围内定义的变量。

name1 = 'Alice' # 全局变量
name2 = 'Bob'
name3 = 'Charlie'

def test(name1):
    name2 = 'Zhang San' # 局部变量，屏蔽了同名的全局变量
    name4 = 'Li Si' # 局部变量
    print('---- In test() ----')
    print(name1)  # 访问的是局部变量
    print(name2)  # 访问的是局部变量
    print(name3)  # 访问的是全局变量
    print(name4)  # 访问的是局部变量
    print('---- End of test() ----')
    
print('Before calling test():')
print(name1, name2, name3)
test('Wang Lao Wu')
print('After calling test():')
print(name1, name2, name3)






